#include "types.h"
void printf(char* str)
{
    static  uint16_t* VideoMemory = (uint16_t *)0xb8000;
    for(int32_t i = 0;str[i] != '\0';i++)
    {
        VideoMemory[i] = (VideoMemory[i] & 0xFF00) | str[i];
    }
}
using constructor = void(*)();
extern "C"  constructor start_ctors;
extern "C"  constructor end_ctors;
extern "C" void callConstructors()
{
    for (constructor* i = &start_ctors;i != &end_ctors;i++)
        (*i)();
}
extern "C" void kernelMain(const void *multiboot_structure, unsigned int  magicnumber)
{ 
    printf((char*)"Hello World");
    while(1);
}